package com.cowin.sys.service;
import com.cowin.inf.model.vo.JphHHVo;
import com.cowin.sys.model.TeOfmVehiclePlan;
import com.cowin.sys.model.TmVhcVehicleMovement;
import com.cowin.base.Service;
import com.cowin.sys.model.vo.DateFormVo;
import com.cowin.sys.model.vo.OutPutVo;
import com.cowin.sys.model.vo.VehicleMovementVo;


import java.util.Date;
import java.util.List;
import java.util.Map;


/**
 * Created by  on 2019/10/29.
 * @author CodeGenerator
 */
public interface TmVhcVehicleMovementService extends Service<TmVhcVehicleMovement> {
   /**
    * 功能描述: 日产量<br>
    *
    * @param outPutVo
    * @return:
    * @since: 1.0.0
    * @Author:yuchao
    * @Date: 2019/10/29 12:40
    */
   List<Map<Integer,Integer>> findDayOutput(OutPutVo outPutVo);

   /**
    * 功能描述: 周月产量<br>
    *
    * @param outPutVo
    * @return:
    * @since: 1.0.0
    * @Author:yuchao
    * @Date: 2019/10/29 12:42
    */
   List<Map<String,Integer>> findScopeOutput(OutPutVo outPutVo);

   /**
    * 功能描述: <br>
    *
    * @param teOfmVehiclePlan 1
    * @return:
    * @since: 1.0.0
    * @Author:yuchao
    * @Date: 2019/10/30 10:31
    */
   List<Map<String,Object>> findPointPositionForm(TeOfmVehiclePlan teOfmVehiclePlan);

   /**
    * 功能描述: 根据工位Id 获取所有车辆过点信息Id<br>
    *
    * @param tmBasUlocId
    * @return:
    * @since: 1.0.0
    * @Author:yuchao
    * @Date: 2019/10/30 11:58
    */
   List<Integer> getTmVhcVehicleIdByTmBasUlocId(Integer tmBasUlocId);

   /**
    * 功能描述: 获取某天的产线JPH<br>
    *
    * @param
    * @return:
    * @since: 1.0.0
    * @Author:yuchao
    * @Date: 2020/1/11 14:46
    */
   List<JphHHVo>  getRealityJph(String ulocId, Date time);

   /**
    * 功能描述: <br>
    *  <日报 焊装20点 涂装20点 总装30点 年月日>
    * @Param:[dateTime]
    * @Return:java.util.List<com.cowin.sys.model.vo.DateFormVo>
    * @Author:YuChao
    * @Date: 2020/3/25 23:08
    */
   List<DateFormVo> getDateForm(String dateTime);

   /**
    * 功能描述: <br>
    *  <过点信息查询>
    * @param:
    * @return:
    * @author:yuchao
    * @date: 2020/3/30 16:54
    */
   List<VehicleMovementVo> getVehicleMovementInfo(VehicleMovementVo vehicleMovementVo);

   /**
    * 功能描述: 查询集合vin码在是否过点 返回集合中过点数据<br>
    *  <>
    * @param:
    * @return:
    * @author:yuchao
    * @date: 2020/4/9 11:11
    */
   List<String> getVinHasRecordByUlocId(List<String> vins ,String ulocNo);
}
